What is JAVA?
Java is a general-purpose, concurrent, class-based, object-oriented language. It is designed to be simple enough that many programmers can achieve fluency in the language. Java is related to C and C++ but is organized rather differently, with a number of aspects of C and C++ omitted and a few ideas from other languages included. Java is intended to be a production language, not a research language, and so, as C. The design of Java has avoided including new and untested features.
Java is strongly typed. This specification clearly distinguishes between the compile-time errors that can and must be detected at compile time, and those that occur at run time. Compile time normally consists of translating Java programs into a machine-independent byte-code representation. Run-time activities include loading and linking of the classes needed to execute a program, optional machine code generation and dynamic optimization of the program, and actual program execution.
Java is a relatively high-level language, in that details of the
machine representation are not available through the language. It includes automatic
storage management, typically using a garbage collector, to avoid the safety problems of
explicit deallocation (as in C's free
or C++'s delete
).
High-performance garbage-collected implementations of Java can have bounded pauses to
support systems programming and real-time applications. Java does not include any unsafe
constructs, such as array accesses without index checking, since such unsafe constructs
would cause a program to behave in an unspecified way.
Java is normally compiled to a bytecoded instruction set and binary format defined in The Java Virtual Machine Specification (Addison-Wesley, 1996). Most implementations of Java for general-purpose programming will support the additional packages defined in the series of books under the general title The Java Application Programming Interface (Addison-Wesley).